package com.chenchao.method;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

/**
 * @encoding : UTF-8
 * @Time : 2020/12/4 14:38
 * @Author : Chen Chao
 * @File : javaSE.com.chenchao.method.Test02.java
 * @Software : IntelliJ IDEA
 * @since : 1.8
 * 函数式接口作为方法作为返回值
 */
public class Test02 {
    public static void main(String[] args) {
        ArrayList<String> strings = new ArrayList<>();
        strings.add("an");
        strings.add("an apple");
        strings.add("pear");
        strings.add("big");
        System.out.println(strings);
        /*系统字母排序*/
        Collections.sort(strings);
        System.out.println(strings);
        /*调用函数式接口方法*/
        strings.sort(getStringComparator());
        System.out.println(strings);
    }

    /**
     * 自定义按长度排序的比较器
     * @return 比较器
     */
    private static Comparator<String> getStringComparator(){
        return (s1, s2) -> s1.length()-s2.length();
    }

}
